package com.tdam2011.grupo06.gui;

import com.tdam2011.grupo06.R;

import android.content.Intent;
import android.os.Bundle;
import android.preference.CheckBoxPreference;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.Preference.OnPreferenceClickListener;

public class SetPreferenceFiltrarMensajes extends PreferenceActivity implements OnPreferenceClickListener
{
	private boolean modificacion = false;
	public static final String MENSAJES_TODOS = "mensajesTodos";
	public static final String MENSAJES_DE_CONTACTOS = "mensajesDeContactoExistentes";
	public static final String MENSAJES_RECIBIDOS = "mensajesRecibidos";
	public static final String MENSAJES_ENVIADOS = "mensajesEnviados";

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		addPreferencesFromResource(R.xml.preference_filtrar_mensajes);
		
		((Preference) findPreference(MENSAJES_TODOS)).setOnPreferenceClickListener(new OnPreferenceClickListener() {
			
			public boolean onPreferenceClick(Preference preference) 
			{
				if(!modificacion)
				{
					setResult(RESULT_OK, new Intent());
					modificacion = true;
				}
				boolean checked = ((CheckBoxPreference) findPreference(MENSAJES_TODOS)).isChecked();
	        	((CheckBoxPreference) findPreference(MENSAJES_DE_CONTACTOS)).setChecked(checked);
	        	((CheckBoxPreference) findPreference(MENSAJES_RECIBIDOS)).setChecked(checked);
	        	((CheckBoxPreference) findPreference(MENSAJES_ENVIADOS)).setChecked(checked);
				return false;
			}
		});
		((Preference) findPreference(MENSAJES_DE_CONTACTOS)).setOnPreferenceClickListener(this);
		((Preference) findPreference(MENSAJES_RECIBIDOS)).setOnPreferenceClickListener(this);
		((Preference) findPreference(MENSAJES_ENVIADOS)).setOnPreferenceClickListener(this);
	}
	
	public boolean onPreferenceClick(Preference preference) 
	{
		if(!modificacion)
		{
			setResult(RESULT_OK, new Intent());
			modificacion = true;
		}
		boolean checked = ((CheckBoxPreference) preference).isChecked();
		if(!checked)
		{
			((CheckBoxPreference) findPreference(MENSAJES_TODOS)).setChecked(false);
		}
		else
		{
			if(((CheckBoxPreference) findPreference(MENSAJES_DE_CONTACTOS)).isChecked() 
					&& ((CheckBoxPreference) findPreference(MENSAJES_RECIBIDOS)).isChecked() 
					&& ((CheckBoxPreference) findPreference(MENSAJES_ENVIADOS)).isChecked())
			{
				((CheckBoxPreference) findPreference(MENSAJES_TODOS)).setChecked(true);
			}
		}
		return false;
	}
}